/* Example of recursive subroutine execution */
arg
x
call
factorial
x
say
x
'! ='
result
exit
Factorial
:
procedure
arg
n
/* recursive invocation */
if
n
=
0
then
return
1
call
factorial
n
-
1
return
result
*
n